home *** CD-ROM | disk | FTP | other *** search
- Eric Gans
- French Department, UCLA
- Los Angeles CA, 90024
-
- RESPRO.DOC v1.1
- 01/14/86
-
- Version 1.1: Added "C" command to clear memory, options to change
- "hot keys." RESPRO now checks for programs removed from memory.
- Also a few minor changes to handle troublesome cases like
- Sidekick.
-
- * * *
-
- If like most DOS users you have filled your RAM with memory
- resident programs, RESPRO is for you. RESPRO allows you to
- disable and reactivate memory-resident programs at any time, from
- within any application. You can clear your memory of all
- resident programs, or remove just the last program loaded
- regardless of what it says in its user manual or DOC file. This
- too can be done from within other applications, but errors may
- result if these are themselves dynamically requesting memory or
- if they have reset interrupt addresses.
-
- RESPRO also includes an "uncrash" feature that allows you to
- exit a hung program under most circumstances without having to
- reboot your computer.
-
-
- How Do Memory-Resident Programs Work?
-
- Memory-resident programs are loaded like any others; they
- remain resident because DOS allows them to keep the memory
- originally allocated to them. If you load a series of such
- programs, they fill your RAM from the bottom up.
-
- But residing is only useful if these programs can remain
- active. They accomplish this by capturing "interrupt vectors"
- used by various computing activities. Most resident programs look
- at one or both of the keyboard interrupts (9 and 16h) to see if
- you have typed the particular combination of characters that
- triggers their operations. If not, control is passed to the next
- program down the list, and eventually to the BIOS that prints the
- character on the screen.
-
- How Does RESPRO Work
-
- RESPRO itself operates by capturing interrupt vectors and
- using its time of control to record information concerning the
- interrupts used by other memory resident programs. RESPRO
- records all changes that follow the loading of new resident
- programs. This allows it to disable/reactivate memory-resident
- programs by bypassing/restoring these programs' captured
- interrupts. RESPRO 1.1 also checks to see if a memory-resident
- program has been removed independently of its own operations. If
- the removed program was not the last loaded, RESPRO gives a
- warning message when you attempt to use it to disable, activate,
- or remove other programs.
-
- Set-Up and Memory Requirements
-
- To use RESPRO effectively, you should load it before any
- other memory-resident programs (including those that tell you
- they should be loaded first). RESPRO will only "see" programs
- loaded after it; it will always appear as #1 on its list of
- memory-resident programs.
-
- RESPRO occupies about 11 K of memory, largely for buffers to
- hold interrupt data. It requires DOS 2.0 or higher.
-
- RESPRO Operation
-
- RESPRO is evoked by typing Alt ` (grave accent). (See below
- for how to change this.) On evocation, and after any command, it
- displays a list of memory-resident programs, their load addresses
- and the number of bytes they occupy.
-
- The command line permits the following operations:
-
- (V)erbose toggle: Entering "v" toggles a mode that displays
- the interrupts captured by each resident program and their
- addresses (segment:offset). This should be of use to programmers.
-
- (R)emove last: This will remove the last resident program
- from memory, freeing the memory for other applications. RESPRO
- will not allow you to perform this operation from within an
- application that has changed some of the interrupt vectors used
- in the program(s) you wish to remove, since on exiting these
- vectors will be reset to locations in the killed program that
- will eventually be overwritten. But because RESPRO cannot check
- for the future memory demands of your applications, this command
- should always be used with caution from within other programs.
-
- (C)lear memory: This will remove all memory-resident
- programs above RESPRO itself. If your current application has
- reset any interrupt vectors you will be required to exit it
- before using this command.
-
- (D)isable #: Entering "d3" will disable program #3. This
- operation may be performed without danger at any time, since it
- does not remove the program from memory. A disabled program will
- not use processor time or perform any other function. Any
- program thus disabled can be reactivated with the (A) command.
-
- (A)ctivate #: Enter "a3" to reactivate the program you
- disabled with "d3". This operation too can be performed safely
- at any time.
-
- Type <ESC> to exit. (No CR is necessary.)
-
- If you disable RESPRO it will remain in memory but no longer
- be operative, and you will no longer be able to call up its
- screen. This is the one (obvious) exception to the rule that all
- disabled programs can be reactivated.
-
- A few applications (like Xywrite) that capture the keyboard
- interrupts for themselves will not let you call up RESPRO while
- they are running. This will not be the case for most word-
- processors, spreadsheets, database programs, or BASIC.
-
- Uncrash Feature
-
- Since RESPRO keeps interrupt tables, it can handle this
- function more gracefully than other such programs. If you get
- caught in an endless loop but your keyboard is still alive, you
- can exit to DOS or the "parent" process (e.g., DEBUG) by
- simultaneously pressing the CAPS LOCK and the SCROLL LOCK keys.
- (This operation is independent of the current status of these
- keys; see below for how to change them.) We can't absolutely
- guarantee that everything will be all right on exit, but this
- procedure may allow you to save files that would otherwise be
- lost.
-
- Changing Hot Keys (v1.1)
-
- The key combinations used to evoke RESPRO may be changed
- from the DOS prompt.
-
- respro c will change the keys for normal operation
- respro u will change the keys for "uncrash" operation
-
- Normal operation uses a normal key plus a combination of shifts
- (Ctl, Alt, Lshift, Rshift). The uncrash feature requires a
- combination of Ins, Caps Lock, Num Lock, Scroll Lock and/or
- Sysreq (for AT users). Hold the shift keys down an instant until
- the program registers the new values.
-
- These changes will be recorded on disk, so RESPRO should be
- in the current directory when running these commands. They will
- take effect the next time RESPRO is loaded into memory.
-
- Please inform me if you have any problems using RESPRO.